const Type = () => {
  /**
   * 字符串转数组
   * 
   
   const str = "helloWorld"
   let a = [], b = [], c = [], d = [], e = [], f = [], g = []
 
   // 第一种
   a = str.split('')
   // 第二种
   b = [...str]
   // 第三种
   c = Array.from(str)
   // 第四种
   let len = str.length
 
   for (let i = 0; i < len; i++) {
     d.push(str.charAt(i))
   }
   // 第五种
   for (const item in str) {
     if (Object.hasOwnProperty.call(str, item)) {
       const element = str[item];
       e.push(element)
     }
   }
   // 第六种
   f = Object.values(str)
   g = Object.values.call('', str)
 
 arr.toLocaleString()
 arr.toString()
  
  
  console.log("a:", a);
   console.log("b:", b);
   console.log("c:", c);
   console.log("d:", d);
   console.log("e:", e);
   console.log("f:", f);
   console.log("g:", g);
   a = b
   console.log(a == b); // false
   console.log(a === b); // false
   console.log(Object.is(a, b)); // false
  
  */

  /**
   * 
  
 let arr = ['h', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd']
  let a = '', b = '', c = '', d = '', f = ''
  
    // 第一种
    // a = arr.join("-")
    a = arr.join("")
  
    // 第二种
    b = (arr + "").replace(/,/g, '')
  
    // 第三种
    c = arr.toString().replace(/,/g, '')
  
    // 第四种
    for (let i = 0, len = arr.length; i < len; i++) {
      d += arr[i]
    }

    // 第五种 使用for of，不要使用for in，因为forIn 在循环的时候，顺序是不确定的
    for(let i of arr){
       f += i
    }   

    console.log("a:", a);
    console.log("b:", b);
    console.log("c:", c);
    console.log("d:", d);
    console.log("f:", f);
   * 
  */


 /**
 
// 0，-0，null，false，NaN，undefined  ""

let fla1 = new Boolean(0)
let fla2 = new Boolean(-0)
let fla3 = new Boolean(null)
let fla4 = new Boolean(false)
let fla5 = new Boolean(NaN)
let fla6 = new Boolean(undefined)
let fla7 = new Boolean('')


let flaArr = [fla1,fla2,fla3,fla4,fla5,fla6,fla7]


flaArr.map(flaItem=>{
  if(flaItem) console.log("循环执行了")
})
  

flaArr.map(flaItem=>{
   console.log(flaItem)  // 全部都是  Boolean {false}
   console.log(typeof flaItem)  // 全部都是  object
})



let fla1 =  Boolean(0)
let fla2 =  Boolean(-0)
let fla3 =  Boolean(null)
let fla4 =  Boolean(false)
let fla5 =  Boolean(NaN)
let fla6 =  Boolean(undefined)
let fla7 =  Boolean('')


let flaArr = [fla1,fla2,fla3,fla4,fla5,fla6,fla7]


flaArr.map(flaItem=>{
  if(!flaItem) console.log("循环执行了") //全部打印“循环执行了” ，注意这里的if取反了 
})
  

flaArr.map(flaItem=>{
   console.log(flaItem)  // 全部都是 false
   console.log(typeof flaItem)  // 全部都是 boolean ，注意这个是基本累心，不是Boolean包装对象
})

 */



// 转为数值
// console.log(Number(false)) // 0
// console.log(Number(true))  // 1


// console.log((false)+0) // 0
// console.log((true)+0)  // 1


// 转为字符串
// console.log(String(false),typeof String(false)) // false string
// console.log(String(true),typeof String(true)) // true string
 
// console.log((false)+"",typeof String((false)+"")) // false string
// console.log((true)+"",typeof String((true)+"")) // true string
 







  return (
    <div>
      <h4>类型转换</h4>
    </div>
  )
}


export {
  Type
}